package beanstao.util.store.presenter;

import beanstao.util.id.Id;
import beanstao.util.response.PD;
import beanstao.util.store.IQD;


public interface ITreePresenter extends IPresenter
{
	/**
	 * 含子孙
	 */
	public PD childs(IQD data);

	/**
	 * 不含孙
	 */
	public PD elements(IQD data);

	/**
	 * 根据指定的实体的ID获得该实体的父级实体
	 * @param id
	 * @return
	 */
	public PD parent(IQD data);

	/**
	 * 返回所有祖先
	 * @param id
	 * @return
	 */
	public PD ancestor(String id);

	/**
	 * 参数里需id
	 */
	public PD xml(IQD data);

	public PD idOfChilds(IQD data);

	public PD idOfElements(IQD data);

	/**
	 * 得到子孙id&name
	 */
	public PD idNameOfChilds(IQD data);

	/**
	 * 得到子id&name
	 */
	public PD idNameOfElements(IQD data);

	/**
	 * 参数里需id
	 */
	public PD simpleXml(IQD data);

	Boolean existElement(Id parentId, Id elementId);

	Boolean existElement(Id parentId, String attrubuteName, String attrubuteValue);

}
